home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-1.iso / comm / htmst512.zip / HTMSTRIP.DOC < prev    next >
Text File  |  1995-12-05  |  23KB  |  460 lines

  1. HTMSTRIP.DOC                         1                         Revised: 12/05/95
  2.  
  3. The HTMSTRIP.EXE program attempts to read HTML pages, remove  the  HTML  coding,
  4. and write the file out as something more useful.  It can be used in  conjunction
  5. with the Wayne Software  PAGINATE  command  (available  separately)  to  produce
  6. properly indented text and such.
  7.  
  8. HTML codes are surrounded within <...>  indicators.   For  upward  compatibility
  9. reasons, Web browsers ignore any codes  that  they  don't  understand  and  just
  10. process the ones they can handle.
  11.  
  12. Note that the HTMSTRIP command is currently geared for handling HTML  2.0  files
  13. and may not be all that useful when HTML 3.0 specification files come  out.   It
  14. will try to process the table-specific codes which  are  part  of  HTML  3.0  as
  15. enhanced by Netscape.
  16.  
  17. HTMSTRIP removes all HTML codes.  It also  handles  the  standard  HTML  "&xxx;"
  18. replacements (e.g.  "©" is replaced by "(c)").  You can add or change these
  19. replacements as desired by using the INI file (documented later).
  20.  
  21. HTMSTRIP is also tuned to allow it to  specially-handle  several  imbedded  HTML
  22. codes although proper formatting depends on using the /PAG option.  These  codes
  23. are the following:
  24.  
  25.        <A ...>                       External link
  26.        <BLOCKQUOTE>...</BLOCKQUOTE>  Indented block of text
  27.        <BR>                          Forced line break
  28.        <CENTER>...</CENTER>          Centering text
  29.        <DIR>...</DIR>                Directory list of items
  30.        </DL>                         End of definition list
  31.        <DT>                          First term of definition list/glossary
  32.        <H1> to <H6>...</H1> to </H6> Heading items
  33.        <HR>                          Horizontal rule
  34.        <IMG ...>                     Image
  35.        <INPUT ...>                   User input
  36.        <LI>                          Menu/Ordered/Unordered/Directory list item
  37.        <MENU>...</MENU>              Menu listing
  38.        <OL>...</OL>                  Ordered listing
  39.        <P>                           Paragraph indicator
  40.        <PRE>...</PRE>                Preserve spacing block (preformatted text)
  41.        <TABLE>...</TABLE>            Table block
  42.        <TD>...</TD>                  Table data (cell)
  43.        <TH>...</TH>                  Table heading
  44.        <TITLE>...</TITLE>            Title item
  45.        <TR>...</TR>                  Table row
  46.        <UL>...</UL>                  Unordered listing
  47.  
  48.  
  49.  
  50. HTMSTRIP.DOC                         2                         Revised: 12/05/95
  51.  
  52. If you run across other codes that become vital, let me know  and  I'll  try  to
  53. handle them somehow.
  54.  
  55. If the /PAG option is invoked, HTMSTRIP will  rewrite  the  file  with  imbedded
  56. marker commands that are used by the PAGINATE command (also available out  there
  57. under the name PAGINymm.ZIP--see  BRUCEymm.DOC  for  more  information).   These
  58. marker commands actually try to allow the information to  be  displayed  in  its
  59. desired format.
  60.  
  61. Once the program runs, use:
  62.  
  63.         PAGINATE infile
  64.  
  65. on the file that HTMSTRIP products (the output file for HTMSTRIP  is  the  input
  66. file for PAGINATE).
  67.  
  68. If the /PAG option is not invoked (/-PAG is left in effect), HTMSTRIP will still
  69. try to process the file but the final results won't be as pleasing.  /WRAP  (the
  70. default) will reflow the lines for you.   Lines  will  also  be  centered  where
  71. appropriate.  In many cases, this effect is more than adequate so feel  free  to
  72. use it.  /PAG does a better job of handling things but it requires a second pass
  73. through the files and may not be worth your time.
  74.  
  75.  
  76. How to get HTML files:
  77.  
  78. Some people who are using regular Web browsers like  Mosaic  or  Netscape  don't
  79. realize that  they're  automatically  saving  HTML  files  to  their  hard  disk
  80. throughout every Web session.  That's because just about every Web browser saves
  81. the most-recently accessed files from  the  Web  (including  HTML  source  code,
  82. GIF's, and JPG's) on your hard  disk  and  reads  them  from  there  instead  of
  83. requiring you to download them every time you go back to a previous page.   This
  84. is typically settable by  you  under  "Preferences"  and  "Cache"  on  your  Web
  85. browser.
  86.  
  87. I usually set my Web browser to have a huge cache, maybe 10MB.   Anything  beats
  88. downloading the same pages over again even at 28.8K.  And I make sure that I  do
  89. not have anything specified like "clear cache at the end of every session". Then
  90. I just go through the files in the cache subdirectory  afterward  and  reprocess
  91. them.
  92.  
  93. Two disadvantages to a cache...  It takes up hard disk space but, hey,  the  Web
  94. browser  is  typically  in  Windows  so  why  are  you  surprised.   The  second
  95. disadvantage is  that  if  the  page  actually  changes  between  sessions,  you
  96. typically won't notice the new page as long as it remains in your cache.  If you
  97. think a page is still in cache and should have been changed but didn't, you  can
  98. typically ask your Web browser to reload the page.  On some  browsers,  this  is
  99. shown as an arrow in the form of a circle.
  100.  
  101. HTMSTRIP can process the entire cache subdirectory.   It  automatically  detects
  102. non-HTML files for you and processes accordingly.   It  creates  new  text  file
  103. versions of just the HTML pages it finds.
  104.  
  105.  
  106.  
  107. HTMSTRIP.DOC                         3                         Revised: 12/05/95
  108.  
  109. Specifying parameters:
  110.  
  111. Parameters for this program can be set in the following ways.  The last  setting
  112. encountered always wins:
  113.   - Read from an *.INI file (see below),
  114.   - Through the use of an environmental variable (SET HTMSTRIP=whatever), or
  115.   - From the command line (see "Syntax" below)
  116.  
  117.  
  118. The HTMSTRIP.INI file:
  119.  
  120. HTMSTRIP will read a HTMSTRIP.INI file if one is  found.   (You  can  specify  a
  121. different file name if desired.) The file is an ASCII  text  file  that  can  be
  122. created maintained by hand.  The file can consist or one or  more  command  line
  123. parameters (only those that begin with a "/"; no multi-word ones), one statement
  124. per line.  E.g:
  125.         /EXT=.NEW
  126.         /-PAG
  127.         /LENGTH=80
  128.  
  129. The file can also contain comments which are blank lines or any  line  beginning
  130. with:
  131.         ;    (semi-colon)
  132.         :    (colon)
  133.         '    (quote)
  134.  
  135. For HTMSTRIP, the file can also contain a series  of  lookups  used  to  replace
  136. incidences of the  HTML  "&xxx;"  characters  (such  as  "©").   A  default
  137. HTMSTRIP.INI is provided which provides over 120 lookups.  To define  or  change
  138. these lookups, the INI file should include a series of lines  in  the  following
  139. format:
  140.  
  141.         &xxx; = outstr
  142.  
  143. where "&xxx;" is the HTML sequence and "outstr" is what you want to  replace  it
  144. with.  The outstr portion can consist of regular non-space ASCII text characters
  145. (like "A" or "z") as well as hexadecimal values (in the form  &Hxx)  or  decimal
  146. values (in the form \nnn).  It can also be the word "NULL" which translates  the
  147. string into nothing.  You cannot use a space or equal sign in "outstr"; use  the
  148. hexadecimal or decimal representations instead.  The table does not have  to  be
  149. in any specified order.  Lines can end with "/*" followed by a  comment  if  you
  150. want.  Examples:
  151.  
  152.         ©   = (c)      /* Copyright symbol
  153.         °    = °
  154.         é = é
  155.         ê  = ê
  156.         è = è
  157.             = \032
  158.  
  159. Remember that "&xxx;" replacements are case-sensitive in HTML.  "°" will not
  160. find "&Deg;".
  161.  
  162.  
  163. HTMSTRIP.DOC                         4                         Revised: 12/05/95
  164.  
  165. You are also allowed to redefine the strings that are used  for  three  symbolic
  166. references in the file.  These show  up  only  if  /SYMBOLS  is  specified.   By
  167. default, you will see the following:
  168.  
  169.         for <A> external links             -> [Link]
  170.         for <IMG> image references         -> [Image]
  171.         for <INPUT> user inputs            -> [Input]
  172.  
  173. You can redefine any and all of these references in the same lookup file.  These
  174. substitutions are specified more or less like the previous substitutions:
  175.  
  176.         <A>      = [Link]
  177.         <IMG>    = [Image]
  178.         <INPUT>  = [Input]
  179.  
  180. Unlike with  the  other  lookups,  the  left  side  is  not  case  sensitive  so
  181. "<a>=[Link]" works just fine.  Hexadecimal and decimal  replacements  are  again
  182. acceptable.  You might, for example, want to redefine them like this:
  183.  
  184.         <A>      = \251     /* Replaces with a √ symbol
  185.         <IMG>    = \015     /* Replaces with a  symbol (little flash cube)
  186.         <INPUT>  = ?        /* Replaces with a question mark
  187.  
  188. Any symbolic references that you do not redefine will default to their  original
  189. values.  If /-SYMBOLS is specified, any symbolic definitions are ignored  and  a
  190. "NULL" replacement string is used for all of them.
  191.  
  192. HTMSTRIP looks for the initialization file in your default  subdirectory  first.
  193. It then searches for it in the subdirectory where the executable  was  and  then
  194. goes through your DOS path.
  195.  
  196. The "&xxx;" and symbolic lookup table can also be read from  a  different  table
  197. specified by the /Linitfile parameter.
  198.  
  199. Passing in "/-I" or "/INULL" skips  loading  the  INI  file.   This  saves  some
  200. execution time as the program does not need to search your path for the file.
  201.  
  202. You can combine *.INI files from this and other routines I have out there.  This
  203. is useful if you're tired of having a lot of *.INI files out there.  To do this,
  204. make a single *.INI file (such as  ALL.INI)  and  include  blocks  in  it.   The
  205. routine will look for the block that's the name of the  core  routine  (in  this
  206. case, "[HTMSTRIP]") and only processes  the  records  within  that  block.   For
  207. example,
  208.  
  209.         ; ALL.INI -- contains all of the INI statements
  210.         [DATES]
  211.         /SORT
  212.         [FILL]
  213.         /ON
  214.         /SPLIT
  215.         [HTMSTRIP]
  216.         /EXT=.NEW
  217.         /LHTMSTRIP.INI
  218.         (all of the lookups)
  219.  
  220.  
  221. HTMSTRIP.DOC                         5                         Revised: 12/05/95
  222.  
  223. You can either pass in the name of the INI file  ("/IALL.INI")  or  the  routine
  224. will use a "SET  BG=filename"  (e.g.  "SET  BG=ALL.INI")  parameter  if  one  is
  225. provided.
  226.  
  227.  
  228. Syntax:
  229.  
  230.     HTMSTRIP { filespec | @listfile } [ outfile ] [ /EXT=.xxx ]
  231.       [ /PAG | /-PAG ] [ LENGTH=n ] [ /WRAP | /-WRAP ] [ /SYMBOLS | /-SYMBOLS ]
  232.       [ /SPACES | /-SPACES ] [ /WARNINGS | /-WARNINGS ]
  233.       [ /TAB=n ] [ /RULE=string ]
  234.       [ /ALIGN | /JUSTIFY | /-ALIGN ] [ /TITLE | /-TITLE ]
  235.       [ /TABLES | /-TABLES ] [ /PAGE=n ]
  236.       [ /Iinitfile | /-I ] [ /Linitfile ] [ /? ] [ /?&H ]
  237.  
  238. where:
  239.  
  240. "filespec" tells the routine which file or  files  are  to  be  processed.   The
  241. specification can include path and wildcards if desired.   Typically,  the  file
  242. names are *.HTM files.
  243.  
  244. "@listfile" allows you to have a variety of file specifications saved in a  text
  245. file named "listfile".  Each line  in  the  file  should  consist  of  one  file
  246. specification, each of which can include a path and wildcards if desired.  Blank
  247. lines and lines beginning with semi-colons, colons, or quotes are ignored.
  248.  
  249. "outfile" is the name of the output file to create.  If no output file  name  is
  250. provided, the routine will use the infile and provide  an  extension  of  *.OUT.
  251. (The default .OUT extension can be overridden using the /EXT=.xxx parameter.) An
  252. outfile cannot be specified if wildcards or @listfile are  used  for  the  input
  253. file specification.
  254.  
  255. "/EXT=.xxx" allows you to specify a different default  file  extension  for  the
  256. output file.  This parameter only matters if you do not  explicitly  specify  an
  257. output file name.  The default value is "/EXT=.OUT".
  258.  
  259. "/PAG" says to imbed PAGINATE commands in the output file.   Doing  so  requires
  260. that you pass the resulting file through the PAGINATE command as well.
  261.  
  262. "/-PAG" says to not imbed PAGINATE commands.  This  is  initially  the  default.
  263. HTMSTRIP will do a reasonable job of reformatting your file anyway.
  264.  
  265. "/LENGTH=n" specifies the  desired  length  for  alignment,  justification,  and
  266. centering.  Is also used for the title.  If /WRAP is in effect,  lines  will  be
  267. wrapped according to this length.  Initially defaults to /LENGTH=80.
  268.  
  269. "/WRAP" says to wrap lines in the output file that are longer than the /LENGTH=n
  270. specification.  If the PAGINATE command is used on the output file, /WRAP  won't
  271. have much affect.  This is initially the default.
  272.  
  273. "/-WRAP" says to skip wrapping.
  274.  
  275.  
  276. HTMSTRIP.DOC                         6                         Revised: 12/05/95
  277.  
  278. "/SYMBOLS" says to allow (unless redefined  in  your  INI  file)  the  "[Link]",
  279. "[Image]", and "[Input]" indicators.  This is initially the default.
  280.  
  281. "/-SYMBOLS" skips the indicators even if they're defined in your INI file.
  282.  
  283. "/SPACES"  turns  off  extra  vertical  spacing  between  sections.   There  are
  284. frequently lots of extra blank lines that appear in the output file  either  due
  285. to specific HTML requests or to insure proper reformatting.  Specifying  /SPACES
  286. allows these to stay there.
  287.  
  288. "/-SPACES" removes these extra blank lines.  This is initially the default.
  289.  
  290. "/WARNINGS" displays warnings when HTMSTRIP finds either  internal  problems  in
  291. the document or things it can't handle.  This is initially the default.
  292.  
  293. "/-WARNINGS" turns off the warning messages.
  294.  
  295. "/TAB=n" specifies that if /-PAG is used and table cells are  encountered,  they
  296. should be spaced according to tab positions set every  n-characters.   Initially
  297. defaults to /TAB=10.  If you have some big  tables  and  they  look  like  hell,
  298. increase the /TAB=n setting and see  what  happens.   Conversely,  if  you  have
  299. tables with a lot of cells per row, reduce the setting and see what happens.
  300.  
  301. "RULE=string" specifies that a string is to be repeated the length of the  line.
  302. This is used to separate sections.  The string can be a single  character  (like
  303. "RULE=-"), multiple characters (like "RULE="- ""), it can  contain  decimal  and
  304. hexadecimal characters (like "RULE=\066\097\116"), it can be "RULE=NULL"  (which
  305. typically results in a blank line), or just simply "RULE"  (which  is  the  same
  306. thing  as  "RULE=-").   Personally,  if  your  printer  supports  IBM   graphics
  307. characters, I find RULE=\196 to be the most pleasing of the rule lines.
  308.  
  309. "/ALIGN" specifies that, if PAGINATE is used, text  is  to  be  aligned  to  the
  310. specified length.  This is initially the default.
  311.  
  312. "/JUSTIFY" specifies that, if PAGINATE is used, text is to  be  justified  (both
  313. margins equal) to the specified length.  This is not recommended  as  it  causes
  314. some really bizarre formatting to show up.
  315.  
  316. "/-ALIGN" (or "/-JUSTIFY") says to not align or justify the text.  This  is  not
  317. recommended unless you bring the text into a word processor  because  the  lines
  318. are incredibly long.
  319.  
  320. "/TITLE" turns on, if PAGINATE is used,  the  more  or  less  default  title  in
  321. PAGINATE:
  322.  
  323.         # title center length=80
  324.         ^O%12%                         ^B%3%                       Revised: ^A
  325.  
  326.         # end
  327.  
  328. "/-TITLE" skips the titles.  This is initially the default.
  329.  
  330.  
  331. HTMSTRIP.DOC                         7                         Revised: 12/05/95
  332.  
  333. "/TABLES" specifies that the program should  try  to  process  built-in  tables.
  334. These were introduced in the HTML 3.0 specification as expanded by Netscape.  If
  335. /TABLES is specified, the program will generate ASCII-delimited data rows  which
  336. PAGINATE can process for you, resulting in decently aligned  columns  and  such.
  337. There are cases where trying to process these will cause PAGINATE  to  fail  and
  338. you may need to turn off this option.  PAGINATE will take considerably longer to
  339. execute if tables are encountered.  The main purpose of this option is to handle
  340. numeric tables, not things like paragraphs stuck into tables.  The program  will
  341. turn off the /TABLES option itself and reprocess the file if it finds  that  the
  342. table is too complex for it to handle.  Initially defaults to /TABLES.
  343.  
  344. "/-TABLES" skips trying to specially process tables.
  345.  
  346. "/PAGE=n" specifies the default page length.  If you're using  a  LaserJet,  you
  347. will typically want to set this to  /PAGE=59.   Initially  defaults  to  /PAGE=0
  348. (which is the same thing as /-PAGE).
  349.  
  350. "/Iinitfile" says to read an initialization file with the file name  "initfile".
  351. The file specification *must* contain a period.  If no drive or path information
  352. is specified, the program will search for initfile  beginning  in  your  default
  353. subdirectory  and  then  going  throughout  your  DOS  path.   The  use  of   an
  354. initialization file is optional.  Initially defaults to "/IHTMSTRIP.INI".
  355.  
  356. "/-I" (or "/INULL") says to skip loading the initialization file.
  357.  
  358. "/Linitfile" says that the "&xxx;" and "<A>" etc lookup codes  are  found  in  a
  359. file other than from the default "/Iinitfile" file.  This is primarily useful if
  360. you want to have a master *.INI file and a separate code lookup table.
  361.  
  362. "/?" or "/HELP" or "HELP" shows you the syntax for the command.
  363.  
  364. "/?&H" gives you a hexadecimal and decimal conversion table.
  365.  
  366.  
  367.  
  368. HTMSTRIP.DOC                         8                         Revised: 12/05/95
  369.  
  370. Author:
  371.  
  372. This program was written by Bruce Guthrie of Wayne Software.  It is free for use
  373. and redistribution provided relevant documentation is kept with the program,  no
  374. changes are made to the program or documentation, and it  is  not  bundled  with
  375. commercial programs or charged for separately.  People who need to bundle it  in
  376. for-sale packages must pay a $50 registration fee to  "Wayne  Software"  at  the
  377. following address.
  378.  
  379. Additional information about this and other Wayne Software programs can be found
  380. in the file BRUCEymm.DOC which should be included  in  the  original  ZIP  file.
  381. ("ymm" is replaced by the last digit of the year and the two digit month of  the
  382. release.  BRUCE508.DOC came out in August 1995.  This same naming convention  is
  383. used in naming the ZIP file that this program was  included  in.)  Comments  and
  384. suggestions can also be sent to:
  385.  
  386.                 Bruce Guthrie
  387.                 Wayne Software
  388.                 113 Sheffield St.
  389.                 Silver Spring, MD 20910
  390.  
  391.                 fax: (301) 588-8986
  392.  
  393. See BRUCEymm.DOC file for additional contact information.
  394.  
  395. Foreign users:  Please provide an Internet e-mail address in all correspondence.
  396.  
  397.  
  398. HTMSTRIP.DOC                         9                         Revised: 12/05/95
  399.  
  400. Decimal and hexadecimal codes:
  401.   e.g. "\066\097\116" and "&H426174" both are "Bat"
  402. +---------------------------------------------------------------------------
  403. | dec  hex chr | dec  hex chr | dec  hex chr | dec  hex chr | dec  hex chr |
  404. +--------------+--------------+--------------+--------------+--------------+
  405. | \000 &H00 nul| \052 &H34 4  | \104 &H68 h  | \156 &H9C £  | \208 &HD0 ╨  |
  406. | \001 &H01   | \053 &H35 5  | \105 &H69 i  | \157 &H9D ¥  | \209 &HD1 ╤  |
  407. | \002 &H02   | \054 &H36 6  | \106 &H6A j  | \158 &H9E ₧  | \210 &HD2 ╥  |
  408. | \003 &H03   | \055 &H37 7  | \107 &H6B k  | \159 &H9F ƒ  | \211 &HD3 ╙  |
  409. | \004 &H04   | \056 &H38 8  | \108 &H6C l  | \160 &HA0 á  | \212 &HD4 ╘  |
  410. | \005 &H05   | \057 &H39 9  | \109 &H6D m  | \161 &HA1 í  | \213 &HD5 ╒  |
  411. | \006 &H06   | \058 &H3A :  | \110 &H6E n  | \162 &HA2 ó  | \214 &HD6 ╓  |
  412. | \007 &H07 bel| \059 &H3B ;  | \111 &H6F o  | \163 &HA3 ú  | \215 &HD7 ╫  |
  413. | \008 &H08 bs | \060 &H3C <  | \112 &H70 p  | \164 &HA4 ñ  | \216 &HD8 ╪  |
  414. | \009 &H09 tab| \061 &H3D =  | \113 &H71 q  | \165 &HA5 Ñ  | \217 &HD9 ┘  |
  415. | \010 &H0A lf | \062 &H3E >  | \114 &H72 r  | \166 &HA6 ª  | \218 &HDA ┌  |
  416. | \011 &H0B vt | \063 &H3F ?  | \115 &H73 s  | \167 &HA7 º  | \219 &HDB █  |
  417. | \012 &H0C pg | \064 &H40 @  | \116 &H74 t  | \168 &HA8 ¿  | \220 &HDC ▄  |
  418. | \013 &H0D cr | \065 &H41 A  | \117 &H75 u  | \169 &HA9 ⌐  | \221 &HDD ▌  |
  419. | \014 &H0E   | \066 &H42 B  | \118 &H76 v  | \170 &HAA ¬  | \222 &HDE ▐  |
  420. | \015 &H0F   | \067 &H43 C  | \119 &H77 w  | \171 &HAB ½  | \223 &HDF ▀  |
  421. | \016 &H10   | \068 &H44 D  | \120 &H78 x  | \172 &HAC ¼  | \224 &HE0 α  |
  422. | \017 &H11   | \069 &H45 E  | \121 &H79 y  | \173 &HAD ¡  | \225 &HE1 ß  |
  423. | \018 &H12   | \070 &H46 F  | \122 &H7A z  | \174 &HAE «  | \226 &HE2 Γ  |
  424. | \019 &H13   | \071 &H47 G  | \123 &H7B {  | \175 &HAF »  | \227 &HE3 π  |
  425. | \020 &H14   | \072 &H48 H  | \124 &H7C |  | \176 &HB0 ░  | \228 &HE4 Σ  |
  426. | \021 &H15   | \073 &H49 I  | \125 &H7D }  | \177 &HB1 ▒  | \229 &HE5 σ  |
  427. | \022 &H16   | \074 &H4A J  | \126 &H7E ~  | \178 &HB2 ▓  | \230 &HE6 µ  |
  428. | \023 &H17   | \075 &H4B K  | \127 &H7F   | \179 &HB3 │  | \231 &HE7 τ  |
  429. | \024 &H18   | \076 &H4C L  | \128 &H80 Ç  | \180 &HB4 ┤  | \232 &HE8 Φ  |
  430. | \025 &H19   | \077 &H4D M  | \129 &H81 ü  | \181 &HB5 ╡  | \233 &HE9 Θ  |
  431. | \026 &H1A eof| \078 &H4E N  | \130 &H82 é  | \182 &HB6 ╢  | \234 &HEA Ω  |
  432. | \027 &H1B esc| \079 &H4F O  | \131 &H83 â  | \183 &HB7 ╖  | \235 &HEB δ  |
  433. | \028 &H1C   | \080 &H50 P  | \132 &H84 ä  | \184 &HB8 ╕  | \236 &HEC ∞  |
  434. | \029 &H1D ???| \081 &H51 Q  | \133 &H85 à  | \185 &HB9 ╣  | \237 &HED φ  |
  435. | \030 &H1E ???| \082 &H52 R  | \134 &H86 å  | \186 &HBA ║  | \238 &HEE ε  |
  436. | \031 &H1F ???| \083 &H53 S  | \135 &H87 ç  | \187 &HBB ╗  | \239 &HEF ∩  |
  437. | \032 &H20 sp | \084 &H54 T  | \136 &H88 ê  | \188 &HBC ╝  | \240 &HF0 ≡  |
  438. | \033 &H21 !  | \085 &H55 U  | \137 &H89 ë  | \189 &HBD ╜  | \241 &HF1 ±  |
  439. | \034 &H22 "  | \086 &H56 V  | \138 &H8A è  | \190 &HBE ╛  | \242 &HF2 ≥  |
  440. | \035 &H23 #  | \087 &H57 W  | \139 &H8B ï  | \191 &HBF ┐  | \243 &HF3 ≤  |
  441. | \036 &H24 $  | \088 &H58 X  | \140 &H8C î  | \192 &HC0 └  | \244 &HF4 ⌠  |
  442. | \037 &H25 %  | \089 &H59 Y  | \141 &H8D ì  | \193 &HC1 ┴  | \245 &HF5 ⌡  |
  443. | \038 &H26 &  | \090 &H5A Z  | \142 &H8E Ä  | \194 &HC2 ┬  | \246 &HF6 ÷  |
  444. | \039 &H27 '  | \091 &H5B [  | \143 &H8F Å  | \195 &HC3 ├  | \247 &HF7 ≈  |
  445. | \040 &H28 (  | \092 &H5C \  | \144 &H90 É  | \196 &HC4 ─  | \248 &HF8 °  |
  446. | \041 &H29 )  | \093 &H5D ]  | \145 &H91 æ  | \197 &HC5 ┼  | \249 &HF9 ∙  |
  447. | \042 &H2A *  | \094 &H5E ^  | \146 &H92 Æ  | \198 &HC6 ╞  | \250 &HFA ·  |
  448. | \043 &H2B +  | \095 &H5F _  | \147 &H93 ô  | \199 &HC7 ╟  | \251 &HFB √  |
  449. | \044 &H2C ,  | \096 &H60 `  | \148 &H94 ö  | \200 &HC8 ╚  | \252 &HFC ⁿ  |
  450. | \045 &H2D -  | \097 &H61 a  | \149 &H95 ò  | \201 &HC9 ╔  | \253 &HFD ²  |
  451. | \046 &H2E .  | \098 &H62 b  | \150 &H96 û  | \202 &HCA ╩  | \254 &HFE ■  |
  452. | \047 &H2F /  | \099 &H63 c  | \151 &H97 ù  | \203 &HCB ╦  | \255 &HFF    |
  453. | \048 &H30 0  | \100 &H64 d  | \152 &H98 ÿ  | \204 &HCC ╠  |              |
  454. | \049 &H31 1  | \101 &H65 e  | \153 &H99 Ö  | \205 &HCD ═  |              |
  455. | \050 &H32 2  | \102 &H66 f  | \154 &H9A Ü  | \206 &HCE ╬  |              |
  456. | \051 &H33 3  | \103 &H67 g  | \155 &H9B ¢  | \207 &HCF ╧  |              |
  457. +--------------+--------------+--------------+--------------+--------------+
  458.  
  459. 
  460.